//----------------------------------*-C++-*----------------------------------//
/*!
 * \file   Output.hh
 * \author Jeremy Roberts
 * \date   Aug 31, 2011
 * \brief  Output class definitions.
 * \note   Copyright (C) 2011 Jeremy Roberts. 
 */
//---------------------------------------------------------------------------//
// $Rev:: 124                                           $:Rev of last commit
// $Author:: j.alyn.roberts@gmail.com                   $:Author of last commit
// $Date:: 2011-09-01 02:25:26 +0000 (Thu, 01 Sep 2011) $:Date of last commit
//---------------------------------------------------------------------------//


#ifndef OUTPUT_HH_
#define OUTPUT_HH_

#include <iostream>
#include <string>

namespace slabtran
{

//===========================================================================//
/*!
 *  \class Output
 *  \brief Class for directing problem standard output.
 *
 *  This class provides a "std::cout"-like capability for various output
 *  destinations.  Depending on user input, we can print to stdout, a file,
 *  or nowhere (a silent run).
 *
 */

class Output
{

public:

  /*
   *  \brief Constructor.
   *
   *  \param    file    Problem name.
   *  \param    flag    Output flag (0=stdout, 1=file, 2=silent)
   *
   */
  Output(std::string name, int flag);

private:

  /// Output stream to which we pass messages.
  std::ostream d_ostream;

};

} // end namespace slabtran

#endif /* OUTPUT_HH_ */

//---------------------------------------------------------------------------//
//              end of Output.hh
//---------------------------------------------------------------------------//
